ANÁLISE EXPLORATÓRIA DE DADOS
O que é Análise Exploratória de Dados?
A AED é um conjunto de métodos e ferramentas que o analista utiliza para descrever um determinado conjunto de dados, permitindo compreender o comportamento de diversas variáveis. Permite também solidificar uma base para criar hipóteses e modelos preditivos/causais.
Cada conjunto de dados se comporta de uma forma, portanto, cada método ou ferramenta se encaixa melhor em determinado dataset, enquanto em outros não, portanto, para saber diferenciar quais devem ser utilizadas é necessário um conjunto de conhecimento analítico e crítico.
E quais são os métodos e as ferramentas ? De quais formas podemos “entrevistar” nossos dados e retirar insights? Os meios mais importantes são:
- Classificar os tipos dos dados das variáveis em categóricas ou quantitativas;
- Sumarizar os dados utilizando estatísticas descritivas;
- Visualizar os dados utilizando gráficos.
Classificação das variáveis
Cada variável possui um tipo de dado diferente, e que para cada tipo existe uma ferramenta adequada para a análise. A classificação destas variáveis é realizada de forma relativamente arbitrária, com um certo padrão na escolha destes tipos. Elas podem ser:
Categóricas: Assume valores que dizem respeito sobre a qualidade ou característica de cada observação. Os valores são não numéricos, como strings (caracteres) ou lógicos. É subdividido em binário, nominal e ordinal.
Binário: Assume apenas dois valores, normalmente como sim ou não; True ou False; 0 ou 1 ou qualquer outra característica de dois valores;
Nominal: Valores qualitativos que assumem mais de dois valores, como país, nome, espécie do pinguim, etc.
Ordinal: Valores qualitativos que assumem mais de dois valores e também possuem uma ordem intrínseca, como pequeno, médio, grande, dias da semana e etc.
Quantitativas: variáveis quantitativas são valores numéricos que dizem respeito a grandeza de uma variável. Assumem valores contínuos ou discretos.
Contínuo: em teoria, assumem uma distância não padrão entre uma observação e outra, bem como essa distância pode ser um número infinito de possíveis valores.
Discreto: assumem apenas valores fixos entre duas observações.
Estatística Descritiva
Estatística descritiva são números que sumarizam as características de um conjunto de dados. Através desses números, retira-se informações valiosas, sendo cruciais para o processo da analise exploratória de dados.
Os cálculos realizados para sumarizar os dados possuem classificações, separando-os em tipos de medidas.
- Medidas de tendência central: responde sobre o que está no centro do dados, medidas importantes incluem a média, mediana e a moda
- Medidas de variabilidade: responde sobre o quanto os dados estão dispersos, medidas importantes incluem a variância e o desvio padrão
- Medidas de relacionamento: responde sobre a relação entre duas variáveis em um dataset, medidas importantes incluem a covariância e a correlação.
A sumarização dos cinco números consiste em um conjunto de estatísticas que dividem os dados em seções, permitindo compreender a distribuição dos dados:
- O valor mínimo do conjunto
- O 25° percentil ou primeiro quartil (Q1)
- A mediana (ou 50° percentil) e a Média
- O 75° percentil ou terceiro quartil (Q3)
- O valor máximo do conjunto
library(ggplot2)
library(dplyr)
economics |>
select(pop, unemploy) |>
summary() pop unemploy
Min. :198712 Min. : 2685
1st Qu.:224896 1st Qu.: 6284
Median :253060 Median : 7494
Mean :257160 Mean : 7771
3rd Qu.:290291 3rd Qu.: 8686
Max. :320402 Max. :15352
Visualização dos dados
A visualização de dados permite que possamos analisar facilmente os valores dos dados, sendo extremamente útil não somente para a etapa de exploração, mas também para a etapa de comunicação, devido a facilidade de entendimento do público pelo o que um gráfico está descrevendo.
Fonte: Análise Macro, 2022.
Tipos de gráficos
Comparação: são comuns para a representação de como um conjunto de dados se compara em diferentes categorias ou como se comporta em relação ao tempo, incluem gráficos de linhas e gráficos de barras ou colunas.
Distribuição: ajudam a entender a distribuição do conjunto de dados, são gráficos que auxiliam a entender as estatísticas descritivas, incluem gráficos de histograma, densidade e o boxplot.
Composição: permitem entender os dados como parte de um todo, incluem: gráficos de barras empilhados, gráficos de área (empilhados ou não) e gráficos de pizza.
Relacionamento: exibem a relação entre duas ou mais variáveis. Ajudam a entender as medidas de relacionamento da estatística descritiva, incluem gráficos de dispersão e de bolhas.
Exemplo de análise de dados
#Criando a primeira análise de dados com o R
### PACOTES
library(sidrar)
library(tidyverse)### COLETA
ipca_raw <- sidrar::get_sidra(api = "/t/1737/n1/all/v/2265/p/all/d/v2265%202")
dplyr::glimpse(ipca_raw)Rows: 530
Columns: 11
$ `Nível Territorial (Código)` <chr> "1", "1", "1", "1", "1", "1", "1", "1", "…
$ `Nível Territorial` <chr> "Brasil", "Brasil", "Brasil", "Brasil", "…
$ `Unidade de Medida (Código)` <chr> "", "", "", "", "", "", "", "", "", "", "…
$ `Unidade de Medida` <chr> "", "", "", "", "", "", "", "", "", "", "…
$ Valor <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ `Brasil (Código)` <chr> "1", "1", "1", "1", "1", "1", "1", "1", "…
$ Brasil <chr> "Brasil", "Brasil", "Brasil", "Brasil", "…
$ `Variável (Código)` <chr> "2265", "2265", "2265", "2265", "2265", "…
$ Variável <chr> "IPCA - Variação acumulada em 12 meses", …
$ `Mês (Código)` <chr> "197912", "198001", "198002", "198003", "…
$ Mês <chr> "dezembro 1979", "janeiro 1980", "feverei…
### LIMPEZA
ipca <- ipca_raw |>
dplyr::select("data" = "Mês (Código)",
"ipca" = "Valor") |>
dplyr::mutate(data = lubridate::ym(data)) |>
dplyr::filter(data >= "2004-01-01") |>
dplyr::as_tibble()Na análise exploratória, busca-se respostas para:
- Como a inflação se comportou no Brasil?
- Qual o período com menores e maiores taxas de inflação?
- Qual o valor médio da inflação do Brasil e como é a distribuição de seus valores?
- O que afeta a inflação? Com qual variável ela se relaciona?
### Análise Exploratória
# Gráfico de linha
ggplot2::ggplot(ipca)+
ggplot2::aes(x = data, y = ipca)+
ggplot2::geom_line()# Os cinco números
summary(ipca) data ipca
Min. :2004-01-01 Min. : 1.880
1st Qu.:2009-01-01 1st Qu.: 4.310
Median :2014-01-01 Median : 5.600
Mean :2013-12-31 Mean : 5.774
3rd Qu.:2019-01-01 3rd Qu.: 6.700
Max. :2024-01-01 Max. :12.130
# Gráfico boxplot
ggplot2::ggplot(ipca)+
ggplot2::aes(y = ipca)+
ggplot2::geom_boxplot()# Gráfico de histograma
ggplot2::ggplot(ipca)+
ggplot2::aes(x = ipca)+
ggplot2::geom_histogram()#### Taxa de desocupação
desocupacao_raw <- sidrar::get_sidra(api = "/t/6381/n1/all/v/4099/p/all/d/v4099%201")
# Limpeza da desocupação
desocupacao <- desocupacao_raw |>
dplyr::select('data' = "Trimestre Móvel (Código)", "desocupacao" = "Valor") |>
dplyr::mutate(data = lubridate::ym(data)) |>
dplyr::as_tibble()
# Junta os dados
df_dados <- ipca |>
inner_join(desocupacao, by = "data")
# Compara os duas variáveis
df_dados |>
ggplot2::ggplot()+
ggplot2::aes(x = data)+
ggplot2::geom_line(aes(y = desocupacao, color = "Taxa de desocupação"))+
ggplot2::geom_line(aes(y = ipca, color = "IPCA"))+
ggplot2::scale_color_manual(values = c("#282f6b", "#b22200"))# IPCA em função do desemprego
modelo_phillips <- lm(ipca ~ desocupacao, data = df_dados)
summary(modelo_phillips)
Call:
lm(formula = ipca ~ desocupacao, data = df_dados)
Residuals:
Min 1Q Median 3Q Max
-3.4537 -1.7254 -0.7005 1.6239 6.1742
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.46818 0.85327 9.924 < 2e-16 ***
desocupacao -0.23927 0.08027 -2.981 0.00339 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.481 on 140 degrees of freedom
Multiple R-squared: 0.05968, Adjusted R-squared: 0.05297
F-statistic: 8.886 on 1 and 140 DF, p-value: 0.003389
# Gráfico de Dispersão
ggplot2::ggplot(df_dados, ggplot2::aes(x = desocupacao, y = ipca)) +
ggplot2::geom_point()+
geom_smooth(method = 'lm')